package com.itheima.huikebackend.mapper;

import com.github.pagehelper.Page;
import com.itheima.huikebackend.dto.CluePoolDTO;
import com.itheima.huikebackend.entity.ClueTrackRecord;
import com.itheima.huikebackend.entity.TbBusiness;
import com.itheima.huikebackend.entity.TbClue;
import com.itheima.huikebackend.vo.CluePageVO;
import com.itheima.huikebackend.vo.ClueSelectIdVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TbClueMapper {
    /**
     * 选择列表
     *
     * @param tbClue 线索页面dto
     * @return {@link Page}<{@link CluePageVO}>
     */
    Page<CluePageVO> selectList(TbClue tbClue);

    /**
     * 插入
     *
     * @param tbClue 结核病线索
     */
    void insert(TbClue tbClue);

    /**
     * 选择通过id
     *
     * @param id id
     * @return {@link TbClue}
     */
    ClueSelectIdVO selectById(Long id);

    /**
     * 选择通过cule id
     *
     * @param clueId 线索id
     * @return {@link List}<{@link TbBusiness}>
     */
    List<ClueTrackRecord> selectByCuleId(Long clueId);

    /**
     * 选择池列表
     *
     * @param cluePoolDTO 线索池dto
     * @return {@link Page}<{@link TbClue}>
     */
    Page<TbClue> selectPoolList(CluePoolDTO cluePoolDTO);
}
